1	filter(my_units, movement_left>0)

2	head(1)

3	unit_moves(2.loc)

3a	filter(3, distance_between(self, 2.loc)=1)

4	size(3a)

5	(1' d 4) - 1'

6	3a[5]

7	move(2.loc, 6)


if(first_unit!=[], move(first_unit.loc, filter(unit_moves(first_unit.loc), distance_between(self, first_unit.loc)=1)[(1 d size(filter(unit_moves(first_unit.loc), distance_between(self, first_unit.loc)=1))) - 1]), [])
where first_unit=head(filter(my_units, movement_left>0))

[ai]
	ai_algorithm=formula_ai
	move="if(first_unit!=[], move(first_unit.loc, filter(unit_moves(first_unit.loc), distance_between(self, first_unit.loc)=1)[(1 d size(filter(unit_moves(first_unit.loc), distance_between(self, first_unit.loc)=1))) - 1]), [])
		where first_unit=if(filter(my_units, movement_left>0)=[], [], head(filter(my_units, movement_left>0)))"
[/ai]